1
「すべてがファイル」の抽象化
AI031Lesson 10
00:00

Linuxでは、 「すべてがファイル」 という抽象化は、通常のファイルからネットワーク ソケットまで、すべての入出力源を一様なバイトストリームにマッピングします。この統合インターフェースにより、一貫した システムレベルのI/O を用いて サーバープロセス および クライアントプロセス のトランザクションを マルチコアプロセッサ間で管理できる

統一モデル

プログラムが 通常ファイルディレクトリ、またはネットワークアダプタのようなハードウェア ネットワークアダプタにアクセスする場合でも、同じプリミティブを使用します。図11.2の ハードウェア構成(図11.2)で示されるように、オペレーティングシステムは、I/Oバスを介してCPUとメモリをデバイスに接続し、ネットワークをファイルとして扱うことで、 マルチコアプロセッサにおける並行処理を簡素化する

システム/メモリバスアーキテクチャCPUI/Oブリッジネットワークアダプタ

堅牢なI/Oとメタデータ

次の状況に対処するために ショートカウント (要求されたバイト数 $k$ が利用可能なバイト数 $m$ に対して $k \ge m$ の関係にある場合)、 Rio(堅牢なI/O)パッケージrio_readinitb を提供し、 バッファリング入力を行うことができます。メタデータは statを通じて管理されますが、権限として O_RDWR および S_IROTH などの設定は umask

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>